package com.bbms.dao;

import java.util.HashMap;
import java.util.List;

import org.springframework.stereotype.Repository;

import com.bbms.entity.BorrowRecord;
import com.bbms.entity.Page;

@Repository("BorrowRecordDao")
public interface BorrowRecordDao extends BaseDAO<BorrowRecord>{

	/**
	 * 获取分页数据（含查询）
	 * @param currentPage 当前页
	 * @param pageSize 数量
	 * @param s_book 书名
	 * @param s_reader 读者名称
	 * @param s_manager 管理员名称
	 * @param s_renewBorrowNum 续借次数
	 * @param s_status 图书状态
	 * @param borrowStartTime 借出开始时间
	 * @param borrowEndTime 借出最后时间
	 * @param restoreStartTime 归还开始时间
	 * @param restoreEndTime 归还结束时间
	 * @return 分页数据
	 */
	public Page getPage(int currentPage, int pageSize, String s_book, 
						String s_reader, String s_manager, Integer s_renewBorrowNum,
						Integer s_status, String borrowStartTime, String borrowEndTime, 
						String restoreStartTime, String restoreEndTime);
	
	
	/**
	 * 根绝账号查找当前管理员
	 * @param acount 管理员账号
	 * @return 唯一管理员
	 */
	@SuppressWarnings("rawtypes")
	public List<HashMap> getCurrentManager(String account);
	
	
	/**
	 * 更新读者
	 * @param readerId 读者ID
	 * @param judg 判断更新类型
	 */
	public void updateReader(int readerId, int judg);
	
	/**
	 * 更新图书
	 * @param bookId 图书ID
	 * @param judg 判断更新类型
	 */
	public void updateBook(int bookId,int judg);
	
	
	/**
	 * 根绝读者ID获取读者相关信息
	 * @param readerId 读者ID
	 * @return 读者相关信息列表
	 */
	@SuppressWarnings("rawtypes")
	public List<HashMap> findReaderInfoById(int readerId);
	
	/**
	 * 根据记录ID查找一条记录
	 * @param recordId
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public List<HashMap> findRecordById(int recordId);
	
	/**
	 * 添加记录
	 * @param record 记录实体对象
	 * @param borrowTime 可借阅天数
	 */
	public void addBorrowRecord(BorrowRecord record, int borrowTime); 
	
	/**
	 * 更改记录
	 * @param record 记录实体对象
	 * @param borrowTime 可借阅天数
	 */
	public void updateBorrowRecord(BorrowRecord record, int borrowTime, int judg);
	
	
	
}
